
// 5642. 大餐计数
function countPairs(deliciousness: number[]): number {
    // 判断是2的幂
    // function determine2Pow(n:number):boolean{
    //     return (n&(n-1)) == 0 
    // }

    const  MOD = 1e9 + 7
    const maxSum = Math.pow(2,21)
    const map = new Map<number,number>()
    let ans = 0
    deliciousness.forEach(e=>{
        let sum = maxSum
        while(sum>0){
            ans += map.get(sum-e)||0
            ans %= MOD
            sum>>=1
        }
        !map.has(e)&& map.set(e,0)
        map.set(e,map.get(e)!+1)
    })
    return ans
};

console.log(countPairs([0,1,3,5,7,9]))

